//===============================================================================
// Microsoft patterns & practices Enterprise Library Contribution
// Resource Application Block
//===============================================================================

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Practices.EnterpriseLibrary.Common.Configuration;
using Microsoft.Practices.EnterpriseLibrary.Configuration.Design;

namespace EntLibContrib.Resource.Configuration.Design
{
	/// <summary>
	/// Resource node map register class
	/// </summary>
	class ResourceNodeMapRegistrar : NodeMapRegistrar
	{
		#region Construction
		/// <summary>
		/// Initializes a new instance of the <see cref="T:ResourceNodeMapRegistrar"/> class.
		/// </summary>
		/// <param name="serviceProvider">A mechanism for retrieving a service object; that is, an object that provides custom support to other objects.</param>
		public ResourceNodeMapRegistrar (IServiceProvider serviceProvider) : base(serviceProvider)
		{
		}
		#endregion

		#region Public Methods
		/// <summary>
		/// Registers the node maps.
		/// </summary>
		public override void Register ()
		{
			AddSingleNodeMap(InternalResources.AssemblyResourceProviderUICommandText, typeof(AssemblyResourceProviderNode), typeof(AssemblyResourceProviderData));
			AddSingleNodeMap(InternalResources.BinaryResourceProviderUICommandText, typeof(BinaryResourceProviderNode), typeof(BinaryResourceProviderData));
			AddSingleNodeMap(InternalResources.CustomResourceProviderUICommandText, typeof(CustomResourceProviderNode), typeof(CustomResourceProviderData));
			AddSingleNodeMap(InternalResources.XmlResourceProviderUICommandText, typeof(XmlResourceProviderNode), typeof(XmlResourceProviderData));
		}
		#endregion
	}
}